package com.lyr.tcpdemo;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class ClientThread extends Thread{

    private Socket socket;

    public ClientThread() {
        super("客户端：");
    }

    @Override
    public void run() {

        try {
            // 初始化客户端socket
            //第一个参数是服务器的主机名或者IP地址：localhost表示当前主机是服务器；
            //127.0.0.1 表示当前主机
            //具体的ip地址：比如：172.16.130.2
            //第二个参数：指定端口号
            socket = new Socket("localhost", 9980);

            ///////////////////////////////// 发送消息到服务器//////////////////
            // 获取socket的输出流对象
            BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            while (true) {
                Scanner sc=new Scanner(System.in);
                // 输出内容到网络，发送到服务器
                String strSendMsg = sc.next();
                bf.write(this.getName()+strSendMsg);
                System.out.println(Thread.currentThread().getName()+strSendMsg);

                bf.write("\n");
                bf.flush();

                ///////////////////////////////接收服务器消息///////////////////////
                // 接收消息
                BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                // 读取客户端发送的消息
                String strSmg = br.readLine();
                System.out.println(strSmg);
            }
            } catch(IOException e){
                e.printStackTrace();
        }
    }
}
